home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CD School House 10
/
CD School House - Education and Games (10.0) - Wayzata Technology (1995).iso
/
mac
/
DOS
/
MISC
/
FTK
/
TUTORIAL.TXT
< prev
Wrap
Text File
|
1987-01-01
|
26KB
|
655 lines
F R E E T K T U T O R I A L
==================================
Copyright (c) 1986 by Universal Technical Systems, Inc.
FREETK is an equation processing software product which lets you
explore and use of some of the essential features of the full
TK Solver Plus. For this tutorial, we will use a sample problem
involving loan analysis.
Note: One or more characters describing a single key are enclosed in
square brackets, e.g., [Enter] for the Enter or Return key, [F3] for
the function key F3, [;] for the semicolon key, etc.
* Type:
freetk
and press [Enter] to load the program.
A copyright notice will be displayed for a brief period, after which
the program will start by itself. You can press any key to start the
program immediately. (If you want to return to DOS after the program
is loaded, press [/] and choose "Quit" from the option menu.)
Two sheets, the Variable Sheet and the Rule Sheet, are now
displayed. The cursor is in the Rule Sheet, conveniently placed for
the first step in setting up the sample loan analysis problem.
ENTERING RULES IN THE RULE SHEET
* Type in the equation:
price - downpay = loan
and press [Down-Arrow]
Note that TK automatically entered the variable names on the Variable
Sheet for you and moved the cursor to the next row down. (A rule may
also be entered by pressing [Enter], in which case the cursor remains
on the same row.)
ENTERING INPUT VALUES
* Press [;] to switch the cursor to the Variable Sheet -- the
cursor should appear in the Input field of the variable
"price".
* Type in an amount for the price, say:
15500
and press [Down-Arrow]. (Note that [Down-Arrow] both enters
the value in the Input field for "price" and moves the cursor
down one row into the Input field for "downpay".)
* Type in a down payment amount:
3500
and press [Enter]
Now you are done with problem formulation and are ready to see how TK
solves a model, consisting in this case of a single equation.
1
SOLVING
* Press [F9] to solve.
TK will calculate price - downpay and display the result in the
Output field of the variable "loan".
This is what your screen should look like:
==================== VARIABLE SHEET =================================
St Input---- Name---- Output-- Unit----- Comment---------------------
15500 price
3500 downpay
loan 12000
==================== RULE SHEET =====================================
S Rule---------------------------------------------------------------
price - downpay = loan
TK calculated how much the loan should be. This is of course very
simple and could have been figured out with or even without a
calculator, so let us expand the model.
ADDING A NEW EQUATION
* Press [;] to switch the cursor back to the Rule Sheet.
* On the second line, enter the formula for monthly payment:
payment = loan * (rate / (1 - (1 + rate)^-term))
TK added the new variables in the Variable Sheet, and you just need
to enter input values for some of them in order to obtain a new
solution. Before entering values, however, it must be noted that
this equation is set up to use months for the variable "term" and
decimal fraction per month for the variable "rate". Figuring out the
number of months in a four year term can be done in your head, but
converting an annual rate of 12.5% to a decimal fraction per month is
more difficult. Instead of calculating 12.5/1200 outside of TK and
entering the value .01041666666666667, you need only type 12.5/1200
and press [Enter]. TK will automatically calculate the value and
display it.
ENTERING VALUES FOR NEW VARIABLES.
* Press [;] to switch the cursor to the Variable Sheet
* Enter 12.5/1200 in the Input field for "rate"
* Enter 48 in the Input field for "term"
Now you will let TK calculate the monthly payment according to the
information you gave it.
SOLVING
* Press [F9] to solve.
2
TK will calculate the monthly payment and display the value in the
Output field of the variable "payment".
This is what your screen should look like:
==================== VARIABLE SHEET =================================
St Input---- Name---- Output-- Unit----- Comment---------------------
15500 price
3500 downpay
loan 12000
payment 318.95999
.01041667 rate
48 term
==================== RULE SHEET =====================================
S Rule---------------------------------------------------------------
price - downpay = loan
payment = loan * (rate / (1 - (1 + rate)^-term))
REVERSE CALCULATION (BACKSOLVING)
Suppose you know how much you can afford for a monthly payment and
want to know how long it will take to pay off the loan. Observe that
you don't have to rewrite any equations when you are using TK. It
does not matter to TK whether any particular variable is on the left
side or the right side of the equal sign, or even if a variable
appears on both sides of the equal sign. What was once an unknown
variable can be made into a known variable by entering a value in its
Input field, and a new solution can then be found for another
variable. All TK has to know is the relationship between the
variables and it can solve for any of them. This is 'backsolving' in
its fullest sense.
CHANGING INPUT VALUES
* Go to the status (St) field of the variable "term" and press
[B] to blank the Input field. (In effect, this changes "term"
from a known variable to an unknown variable.)
* Go to the Input field of "payment" and enter 350 as the
monthly payment. (Note that the value 318.95999 disappears
from the Output field. "payment", which used to be an unknown
variable, is now a known variable.)
Without needing to isolate new unknowns on one side of an equation or
rewrite an equation in any way, we are now ready for a new solution.
* Press F9 to solve.
Less the Rule Sheet, which remains the same, this is what your screen
should look like:
3
==================== VARIABLE SHEET =================================
St Input---- Name---- Output-- Unit----- Comment---------------------
15500 price
3500 downpay
loan 12000
350 payment
.01041667 rate
term 42.636479
So we see that increasing the monthly payment from 318.96 to 350
would take nearly half a year off the loan term.
All well and good, except where is there a bank which will lend money
for a term of 42.636479 months?
SOLVING WITH ITERATION
Of course, you could blank out the Input value for "payment", enter
an Input value of 42 for "term", and press [F9] to solve for a
monthly payment of 354.22 on a loan of 42 months (three and a half
years). However, a more interesting problem would result from a
constraint of an absolute maximum of 350 for a monthly payment.
Assuming you can shop around for different interest rates, how low an
interest rate would you have to find in order to pay off the loan in
42 months at 350 per month? How much lower for a 36 month term?
* Check that 350 is entered in the Input field for "payment"
* Go to the Input field for "rate" and press [Spacebar]
[Down-Arrow] (this is another way of blanking the Input field)
* Enter 42 in the Input field for "term".
* Press [F9] to solve.
What went wrong? An asterisk appeared in the Status (S) field of the
second rule on the Rule Sheet, indicating that the equation was not
solved, and nothing showed up in the Output field for "rate". TK's
Direct Solver did not find a solution because "rate" appears twice in
the second rule, whereas the Direct Solver can solve an equation only
for a single unknown appearing in the equation just once.
TK can handle such a situation by taking a guess at the unknown
value, and then refining it in successive approximations until the
error in the rule falls below an acceptably small limit. This
process is called iteration. (Technically speaking, TK's Iterative
Solver uses a modified Newton-Raphson method.)
The problem can be presented to the Iterative Solver by making "rate"
a guess variable and assigning it a guess value. This is easily
accomplished with one step:
* Go to the Status (St) field of "rate", then press [G]
4
Note that a G appeared in the Status field indicating that "rate"
is now a guess variable; also, the last value held by this variable
reappeared in the Input field as a guess value. (You could enter a
different number in the Input field, but the last value should give
the Iterative Solver a good start since it cannot be too far from the
correct answer.) Watch the screen to observe the quick progression
of iteration steps, and
* Press [F9] to solve.
Success! Expressed as a decimal fraction per month, the interest
rate which we should look for is .00981224. This value can be
multiplied by 1200 to find the equivalent annual percentage rate.
Any input field can be used as an on-screen calculator for this
purpose:
* Type [End][Down-Arrow][Right-Arrow] to move the cursor to
an Input field on a blank row.
* Enter rate*1200
The value 11.774686 is displayed in the Input field. The value may
be left there, but should probably be blanked out because it will not
remain consistent with later solutions:
* Type [Spacebar][Enter]
CONVERTING UNITS
The convenience of the on-screen calculator aside, TK has a better
way of handling unit conversions. Every TK variable has two optional
attributes, the CALCULATION UNIT and the DISPLAY UNIT. As the names
indicate, TK performs all calculations with the values in calculation
units, and displays the values in display units.
In many TK applications the issue of units may be ignored altogether,
and all the input and output values may be treated as dimensionless.
However, if the units matter (as in the loan model), they have to be
declared and their conversions defined.
The calculation unit may be assigned to a variable by entering its
name in a blank Unit field. The calculation units must be consistent
with the usage of the variables in the equations. For instance, if we
have a rule Area=Width*Length , we shouldn't assign calculation
units of Area as acres, Width as yards and Length as miles.
To declare the calculation units in agreement with our loan formula:
* Enter mo (for months) in the Unit field of "term"
* Enter df/mo (for decimal fraction per month) in the Unit
field of "rate"
At this point mo and df/mo are the display units as well, the
values of "term" and "rate" are displayed in these units. We may
change the display unit of "rate" to %/yr:
* Enter %/yr
5
The value of "rate" did not change except for appending a question
mark (?). This indicates that the information needed for a
conversion from the calculation unit (df/mo) to the newly entered
display unit (%/yr) was not availale.
Unit conversions in TK are performed based on information in the Unit
Sheet, which is empty when the TK program is loaded. Our goal is to
make it look like this:
==================== UNIT SHEET =====================================
From----- To------- Multiply By-- Add Offset-------------------------
yr mo 12
df/mo %/yr 1200
To bring the Unit Sheet up in the bottom window:
* Press [;]
* Press [=]
* Press [U]
Note: The Select command (=) and the Slash command (/) both display
option menus. A choice can be made either by pressing the first
letter of the desired option, or by moving the cursor over the
desired option and pressing [Enter].
First, to define a conversion between annual percentage interest
rate and monthly interest rate as a decimal fraction:
* Type df/mo in the From field and press [Right-Arrow]
* Type %/yr in the To field and press [Right-Arrow]
* Type 1200 in the Multiply By field and press [Down-Arrow].
Did you notice that upon entering %/yr the question mark in the
Output field of the variable "rate" disappeared, and upon entering
1200 the value got converted to 11.774686 as expected?
Next, to define a conversion between years and months, we can go
from right to left:
* Type 12 in the Multiply By field and press [Left-Arrow]
* Type mo in the To field and press [Left-Arrow]
* Type yr in the From field and press [Enter]
Let's replace the Unit Sheet in the bottom window by a 'copy' of
the Variable Sheet, and convert the value of "term" to years:
* Press [=]
* Press [V]
* Enter yr in the Unit field of "term"
The unit and value of "term" changed automatically in both windows.
6
Every TK variable has its own Variable Subsheet with fields detailing
the characteristics of the variable, including both Display Unit and
Calculation Unit fields. The Calculation Unit field in the Variable
Subsheet may be used for changing the calculation unit.
ACCESSING A VARIABLE SUBSHEET
Use the Dive command > to dive from the Variable Sheet to the
Variable Subsheet for "rate":
* Place the cursor anywhere on the row containing the variable
"rate"
* Type >
The lower window should now look like this:
==================== VARIABLE: rate =================================
Status:
First Guess:
Input Value:
Output Value: 11.7746862535996
Display Unit: %/yr
Calculation Unit: df/mo
Comment:
Note that the value for "rate" is displayed on the Variable Subsheet
in the default numeric format with 15 significant digits. (If you
cover the value on any sheet or subsheet with the cursor you can read
the full internal representation with up to 16 significant digits on
the Status Line at the top of the screen.)
To observe the interconnection between the Variable Sheet and the
Variable Subsheet for "rate":
* Enter df/mo in the Display Unit field of the Variable
Subsheet for "rate"
Note that the value of "rate" in both windows immediately changes
from 11.77... to .009812...; to change it back
* Enter %/yr (in the same field)
The Variable Subsheet may be used for the assignmend of the
so-called FIRST GUESS. To assign a first guess value for the
variable "rate":
* Enter 10 in the First Guess field.
This establishes "rate" as a guess variable whenever it is not
assigned an input value or cannot be evaluated by the Direct Solver.
Having assigned a default guess value in the First Guess field on a
Variable Subsheet, we are relieved of the chore of typing a G in
the Status field every time we want to solve a new problem. In this
model, the value of 10 assigned as the First Guess value for "rate"
is a good starting point for any practical situation.
7
Let's try another problem: What interest rate would you have to find
in order to pay off the loan at $350 per month in only 3 years?
* Press [;] to switch the cursor to the Variable Sheet
* Enter 3 in the Input field for "term"
* Press [F9] to solve.
You would need to find a financial institution offering an interest
rate of less than 3.2 percent per year. Good luck.
SAVING, RESETTING AND LOADING
The current model may be saved to a disk file as follows:
* Press [F4] (this function key is a shorthand for the
command sequence /SS)
* Enter loan1 in response to the prompt for a filename.
TK usually should be reset before loading another model, although it
is possible to append a new model onto a current model by loading
without resetting first. To reset all sheets:
* Type /RAY (for Reset, All, and Yes to confirm)
Now load in a new model:
* Press [F3] (shorthand for /SL)
Note that TK remembers the last-used filename and displays it on
the Prompt/Error line (second line of the screen). This filename may
be selected by simply pressing [Enter]. It may also be edited -- to
select LOAN without the "1" at the end, you could press [Down-Arrow]
[Backspace] [Enter]).
Also, you can type the filename anew or invoke the display of a Disk
Index by entering a drive designator and/or a path specification
and/or a filename containing wildcards. An empty filename invokes the
display of TK model files in the current directory:
* Type [Spacebar] [Enter]
To select the model LOAN:
* Move the cursor to the row containing the filename LOAN (not
LOAN1, which was just saved) and press [Enter]
The model LOAN is the same as the model just saved except that
comments have been added and all variables have units. Comments are
very useful for model documentation. The Comment fields in the
Variable Sheet are usually used for descriptions of the variables.
Note that comments may be placed on the Rule Sheet even though there
is no separate field for them. Anything after a double quote mark
(") in the Rule field is ignored by solvers, so a comment may follow
a rule on the same line or may have a line by itself.
8
WHAT TO DO IF AN ERROR OCCURS
An error will occur if you attempt to enter a syntactically incorrect
rule or if an entry is for some reason invalid for given field. The
error message displayed on the Prompt/Error line will usually provide
sufficient cue for correcting the error and going on.
Errors may also occur during solution because the model setup or the
assigned input values led to contradictions in rules or to infeasible
operations, such as division by zero, or evaluation of a function
outside its definition domain (e.g. taking square root of a negative
argument). In these cases an error mark, i.e. a 'greater than'
symbol (>), will appear in the Status fields of affected rules on
the Rule Sheet and related variables on the Variable Sheet. When an
error mark in the Rule Sheet is covered by the cursor, a message
indicating the nature of the error and suggested remedial action is
displayed on the first line of the screen, the Status Line.
Pressing [F1] while an error message is displayed will bring up a
Help screen related to the error condition.
If an error occurs on attempted entry, or if you start editing an
entry and change your mind, the previous contents of the field can be
restored by pressing [F2]. [F2] will also cancel any menu-based
command if it has not yet been executed, i.e., if a menu is still on
the screen.
FURTHER EXPLORATION OF FREETK
This tutorial is necessarily brief and has therefore been focused at
a step-by-step instruction for using the most important commands, and
discussion of some basic principles of model design, problem
formulation, and model resolution.
The commands used in TK are, in the main, self-explanatory thanks to
the option menus displayed when a command is issued. The Help file
contains further information on commands, built-in functions, special
function keys, syntax, etc. To access the Help file:
* Press [F1]
* Press [I] to display the Index.
Use the [PgUp], [PgDn], [Up-Arrow] and [Down-Arrow] keys to move
through the index and highlight a topic of interest, then press
[Enter] to display information about the selected topic. Additional
useful information may be found in the abridged TK Solver Reference
Card in the REFCARD.TXT file provided with FREETK.
You also may explore sample models included in the FREETK package:
LOAN The simple loan analysis model used in this tutorial.
MORTGAGE An expanded loan analysis model to handle mortgages.
CARPET Calculating length of carpet or linoleum left on a roll.
9
LADDER Solving the classic problem of finding the width of an
alley given the crossing height of two ladders leaning
against buildings on opposite sides of the alley.
LINEAR4 Solution of 4 equations in 4 unknowns, the maximum
possible in FREETK if coefficients are given variable
names.
LINEAR8 Use of fixed coefficients on the Rule Sheet to solve for
8 equations in 8 unknowns within the FREETK restriction
of 16 lines on the Rule Sheet and 32 lines each on the
Variable Sheet and Unit Sheet.
LINREG Linear regression model.
SHAFT Torsion and twist in a cylindrical shaft.
CIRCUIT DC circuit analysis.
POWFACT Use of complex numbers to calculate power factor
correction.
GEAR Calculation of various parameters in gear design.
When loaded, these models have a Variable Sheet with a typical setup
of known and unknown variables awaiting a solution. After examining
the whole model to see how it is structured, press [F9] to solve.
As was demonstrated in this tutorial, you can then run new solutions
after altering the arrangement of known and unknown variables and/or
changing values of input variables.
The main purpose of FREETK is to give you a taste of rule-based
programming applied to numeric computation. TK Solver Plus contains
many additional features such as:
- lists of values and list solving,
- user-defined functions,
- procedural language capability,
- high resolution graphics,
- tabular interface including spreadsheet-like interactive tables,
- numeric formatting, and
- interface with other programs.
A more detailed description of the features of TK Solver Plus is in
the FTKINTRO.TXT file in the FREETK package. This file also contains
information on the $25.00 "FREETK follow-up package", which includes
a diskette with 100 TK models as well as "The TK!Solver Book", and on
a special offer of the full TK Solver Plus.
If you have any comments or questions, or would like to place an
order, call or write us at
Universal Technical Systems, Inc.
1220 Rock Street
Rockford, Illinois 61101
1-800-435-7887 (toll free)
1-815-963-2220 in Illinois
10